خلاقيت و هنر ارتباط سيار جهاني


 






 

مقدمه اي بر ساخت و يکپارچه سازي سريع سيستم ها
 

ابزارها، زبان ها، پلتفرم ها و چهارچوب هاي متنوعي براي ايجاد اپليکيشن ها مورد استفاده قرار مي گيرند که مي توان بسياري از آنها را به منظور ايجاد اپليکيشن هاي سيار نيز به کار برد اما زماني که حرف از يکپارچه سازي اين اپليکيشن ها با محيط هاي سرور به ميان مي آيد کار اندکي دشوار مي شود.
پلتفرم هاي ويژه ابزارهاي سيار انواع گوناگوني دارند و محيط هاي سرور نيز قابل شمارش نيستند و همين مسئله ايجاد اتصال ميان محيط هاي سرور و فناوري هاي سرويس گيرنده متعدد را دشوار مي کند و در نتيجه متخصصين امر يا همان توسعه دهندگان نرم افزار ناچارند که ابزارآلات بيشتري را با خود همراه داشته باشند و در نتيجه نتوانند اتصال سيار سرويس گيرنده به سرويس دهنده (Client to server) را به درستي برقرار نمايند.
اين مقاله بخشي از يک مجموعه سه قسمتي است که به معرفي چالش هاي موجود در يکپارچه سازي سيستم ها مي پردازد. بخش نخستين مقاله پيش روي بر سه چالش موجود در يکپارچه سازي سيار و راه هاي ممکن براي غلبه بر اين چالش ها به منظور دستيابي به تجربه اي لذت بخش و مفيد در ايجاد چنين سيستم هايي تمرکز دارد.

چالش نخست: سرويس گيرنده سيار RPC
 

متخصصين اغلب براي فراخواني از راه دور يا RPC ميان سرويس گيرنده و اپليکيشن هاي سرويس دهنده يا همان سرور از SOAP , HTTP يا استانداردهايي چون سرويس هاي وب و JSON استفاده مي کنند. پلتفرم هاي سيار به صورت محلي از سرويس هاي SOAP وب پشتيباني مي کنند با اين حال اگر تمايلي به استفاده از سرويسهاي وب يا SOAP نداشته باشيد چه مي کنيد؟
ممکن است مشکلاتي که در گذشته به هنگام کار با سرويس اينترنتي تجريه کرده ايد دليل چنين خواسته اي باشد و حال نگرانيد که اين مشکلات براي اپليکيشن سيارتان نيز به وجود بيايد. احتمالاً تصور مي کنيد که کد دريافتي بايد فشرده تر از کدي باشد که سرويس هاي اينترنتي را کنار گذاشت. فراخوان از راه دور AMF، پروتکلي براي سرويس هاي وب و SOAP محسوب مي شود که به دليل سرعت بالا و کارآمدي بيشتر RPC مي توان آن را مورد استفاده قرار داد.
پروتکل باينري AMF remoting مي تواند با استفاده از يک پايگاه کد فشرده تر پيغام ها را سريالي کرده و يا از يکديگرجدا کند و اين بدان معناست که پاسخگويي اپليکيش هاي کاربر به ويژه در صورت بالا بودن حجم داده ها افزايش مي يابد. چنانچه اين پروتکل از طريق پلتفرم هاي سيار بومي پشتيباني مي شد کاربر براي متخصصان آشنا با فناوري هاي Adobe آسان تر بود اما چون اينگونه نيست مي توان از راه هاي ديگري براي حل اين مسئله ياري گرفت. اپليکيشن هاي موسوم به Adobe AIR که در سيستم عامل هاي پيشرويي چون آندروئيد، playBook, iOS بلک بري اجرا مي شوند قابليت پشتيباني ريموتينگ يا فراخوانياز راه دور را دارا هستند. در مورد پشتيباني Native remoting هم ممکن است تعدادي سرور يکپارچه سازي وجود داشته باشند که AMF remoting را به صورت Native پشتيباني مي کنند. از جمله اين سرورها مي توان به webORB اشاره کرد که داراي remoting APIهاي متعدد براي اپليکيشن هاي محلي يا AIR مي باشد. در مورد اپليکيشن هاي بومي اين کار از طريق يک مجموعه سمت سرويس گيرنده مرسوم Client-side assembly که عمل سريالي کردن و منفصل نمودن اپليکيشن هاي سيار و محيط سمت سرور را بر عهده دارد صورت مي گيرد. بنابراين متخصصان اين امر مي توانند براي پشتيباني از تمامي سرويس گيرندهان خود از ميان سرويس هاي وب و ريموتينگ يکي را انتخاب نمايند.

چالش دوم: ارسال پيغام به صورت سيار
 

چنانچه براي پخش صدا يا تصوير يا ارسال داده از سرور به سرويس گيرنده سيار عضو به راهکار مناسبي نياز داريد ضروري است که امکان ارسال پيام يا Messaging را به قابليت هاي اپليکيشن خود بيافزاييد. بدين منظور مي توانيد از چهارچوب پيغام رساني گنجانده شده در پلتفرم ابزار سيار خود استفاده نماييد اما اگر شرکت شما از پيش مجهز به يک ساختار پيغام رساني شده باشد چه؟ در اين صورت باز هم توصيه مي کنيم که اين کار را انجام دهيد چرا که به ندرت پيش مي آيد که دو ساختار پيغام رساني مجزا در يک شرکت به طور همزمان هک شوند و يا بدليل برخورداري از دو سيستم مجزا دچار افت عملکرد شوند. لذا توسعه دهندگان سيستم با دستيابي به روشي مناسب براي اعمال يک پروتکل پيغام رساني باز و گسترده نظير RTMP ديگر نيازي به صرف مدت زمان طولاني براي يافتن راهکارهاي مرتبط با RTMP سيار در فوروم هاي آنلاين متعدد ندارند.
در اپليکيشن هاي AIR که بر روي ابزارهاي سيار اجرا مي شوند مي توان از پروتکل موسوم به RTMP به منظور ارسال داده و پخش رسانه بهره برد. ارسال داده که اصطلاحاً از آن تحت عنوان Data Push ياد مي شود روشي است براي ارسال داده ها از سرور به سرويس گيرندگان متعدد عضو که به منظور حذف بررسي هاي دوره اي سرور مورد استفاده قرار مي گيرد.

چالش سوم: ابزارهاي توليدي
 

متخصصين از ابزارهاي گوناگوني در فرايند ساخت اپليکيشن ها بهره مي گيرند و در اين راستا تنها يک ابزار يکپارچه سازي است که مي تواند براي ايجاد خودکار و آزمودن بلوک هاي قابل تکرار سرويس گيرنده و کد يکپارچه سازي سرور به کار رود و در وقت متخصصين امر صرفه جويي نمايد. با اين حال نگراني از کاربرد ابزارهاي ثالث براي اين منظور به اين علت مطرح مي شود که اغلب تيم هاي متخصص محدود به چهارچوبي مشخص شده اند و اين چهارچوب نيز داراي روش ها و فرمت هاي کدگذاري مختص به خود است. در اکثر مواقع اين تيمهاي به ايجاد Code Generator (ايجاد کننده کد) و حتي چهارچوب هاي مختص به خود روي مي آورند و اين تغيير چهارچوب معمولاً با فرض عدم انطباق ابزارهاي شخص ثالث ايجاد کد با روش ها و چهارچوب مورد پذيرش تيم صورت مي گيرد. در نتيجه تيم برنامه نويس از مزاياي احتمالي کاربرد همزمان ابزارهاي سفارشي ساز با ابزارهاي مناسب طرف ثالث بي بهره مي ماند. تصورات و فرضيات اغلب غلط از آب درمي آيند و شايد بهتر باشد کارايي ابزارهاي شخص ثالث نيز بررسي شوند.
براي آنکه موضوع را بهتر دريابيد مي توان گفت که ابزار شخص ثالث مي تواند با چهارچوب و روش دلخواه شما کد ايجاد کند و در نهايت کاملاً ثبت و ضبط شده و قابل تغيير يا اصطلاحاً Customizable مي باشد. ابزار مذکور همچنين اين امکان را فراهم مي آورد که کد ژنراتور خود به منظور استفاده به همراه ساير ابزارهاي موجود در راهکار شخص ثالث اضافه يا اصطلاحاً Plug in نماييد. با استفاده از اين ابزارها مي توان به سادگي سرويس هاي مورد نظر را مرور کرده و به آنها دسترسي پيدا کنيد، همچنين مي توان پيش از راه اندازي کد سرويس گيرنده ساخته شده براي اپليکيشن سيار مورد نظراصول خود را بار ديگري آزمايش نماييد. مصنوع يا آرتيفکت ساخته شده همچنين مي تواند شامل يک اپليکيشن سرويس گيرنده نمونه باشد که از آن به عنوان نوعي راهنما در جهت تسريع در روند ايجاد سمت سرويس گيرنده بهره گرفته مي شود. زيبايي يک راهکار سخص ثالث نظير اين در آن است که کارآمدي تيم هاي ايجاد کننده سمت سرويس گيرنده و سرور را افزايش داده و همزمان با ايجاد نوعي تعامل ميان اين دو استقلال هر يک را حفظ مي کند و در نهايت زمان انتظار را به صفر مي رساند.
تنها کار باقي مانده دانلود رايگان اين محصول به منظور يکپارچه سازي اپليکيشن AIR و يا Native ابزار سيار مورد نظر با پلتفرم هاي پشتيباني شده اين محصول است. چنانچه افزودن کد ژنراتور مختص به خودتان کار را برايتان آسان تر مي کند بهتر است اين کار را انجام دهيد. پس از اين مرحله لازم است که با استفاده از رابط هاي برنامه نويسي نرم افزار يا APIها عمل ريموتينگ و ارسال پيام را انجام داده و سهولت و سادگي کار را مشاهده نماييد.
بهتر است به جاي آنکه خود را درگير مشکلات يکپارچه سازي نماييد زمان بيشتري را صرف نوشتن کدها يا همان برنامه نويسي کنيد تا بهترين نتيجه را دريافت نماييد. به همراه يکديگر سه چالش اساسي در يکپارچه سازي سيستم ها را مورد بررسي قرار داديم و راهکارهاي ممکن براي برطرف ساختن اين مشکلات را برشمرديم. به اميد آنکه راهکارهاي ارائه شده گره از کار شما گشوده باشد.
منبع: نشريه بزرگراه رايانه، شماره 141.